#include "monitor.h"
#include "gdtidt.h"
#include "isr.h"
#include "timer.h"
#include "memory.h"

void kernel_main(int ard_count, e820_memmap_t *ard_buf) // kernel.asm会跳转到这里
{
    monitor_clear();
    init_gdtidt();
    init_timer(100);
    init_memory(ard_count, ard_buf);
    //asm("sti");

    int a = phys_alloc(), b = phys_alloc();
    phys_free(a);
    int c = phys_alloc();
    printk("a: 0x%x, b: 0x%x, c: 0x%x", a, b, c);

    while (1);
}